<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--

/******************************************************************************
 * Copyright (c) 2004,2005 IBM Corporation and others.
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0

 *
 * Contributors:
 *    IBM Corporation - initial API and implementation 
 ****************************************************************************/

-->
</head>
<body>

API for clipboard-oriented copy/paste services that are customizable for
metamodel-specific semantics.  For invocation of the copy/paste functionality,
see {@link org.eclipse.gmf.runtime.emf.clipboard.core.ClipboardUtil}.

<h2>Package Specification</h2>
<p>
The primary mechanism for customization of a meta-model's copy/paste requirements
is the {@link org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupport}
interface.  Where this interface is not sufficient to control copy/paste
behaviour, the specialization of the following classes is permitted to define
custom copy and paste operations:
<ul>
<li>{@link org.eclipse.gmf.runtime.emf.clipboard.core.OverrideCopyOperation}:
    for special copying behaviour.  This class inherits a number of useful
    operations from the
    {@link org.eclipse.gmf.runtime.emf.clipboard.core.CopyOperation} class to
    find out about the objects that the user selected for copying, additional
    objects required my the <code>IClipboardSupport</code>, and the
    relationships between them.  It also has methods for adding elements to be
    copied</li>
<li>{@link org.eclipse.gmf.runtime.emf.clipboard.core.OverridePasteChildOperation}:
    for special pasting behaviour.  This class inherits a wealth of useful
    operations from the
    {@link org.eclipse.gmf.runtime.emf.clipboard.core.PasteChildOperation} class to
    find out about the objects that the user selected for copying, additional
    objects required my the <code>IClipboardSupport</code>, and the
    relationships between them.  It also has methods do find which elements have
    failed to paste, to paste additional elements (including handling paste
    collisions), etc.</li>
</ul>
</p>

@see org.eclipse.gmf.runtime.emf.clipboard.core.ClipboardUtil#copyElementsToString
@see org.eclipse.gmf.runtime.emf.clipboard.core.ClipboardUtil#pasteElementsFromString
@see org.eclipse.gmf.runtime.emf.clipboard.core.ClipboardUtil#createClipboardSupport

</body>
</html>
